Automated material handling systems provide for the automatic stacking and retrieving of material units to and from loading stations and storage bins in a material storage environment. The automated system generally employs a stacker vehicle or storage/retrieval (S/R) machine which shuttles loads between specified locations in accordance with a control command input to the system by an operator.
Each station or bin in the material handling system which the stacker vehicle accesses is assigned an address in terms of its location with respect to an aisle, bay, level, side or similar physical division of the storage environment. An operator may accomplish a specific material handling task by entering a command to the system informing it of the type of task that is requested, e.g. loading a material unit on the stacker vehicle at a loading station and stacking it in a prescribed bin, and providing relevant addresses of station or bins involved in the operation.
The automation of the material handling system is accomplished through a control unit which receives and interprets operator commands and processes them into output signals that drive the stacker vehicle through the appropriate steps necessary to accomplish the requested task. The stacker vehicle control system requires logic capability that may either be in the form of a hard-wired, special purpose logic unit or a general purpose, programmable logic unit.
The use of a hard-wired, special purpose logic unit incurs a certain amount of inflexibility in its application. More specifically, each such unit has to be designed to meet or accommodate the particular operating parameters of the storage environment in which it is employed. A change in either the physical requirements of the material handling system or the type and quantity of operator commands will necessitate a redesign of the special purpose logic. The patent to Burch et al, U.S. Pat. No. 3,536,209, teaches a special purpose logic unit of this sort, but, as noted, this form of control unit is not well adapted to modifications for use in systems of varying parameters.
The advent of the microprocessor has made a programmable, general purpose logic unit the better choice for control system design where adaptability to material handling environments of different operating parameters is a consideration. The performance of the stacker vehicle control unit is embodied in a control program; when changes are required to be made to the control logic, they may be accomplished through modification of the control program.
However, the use of a programmable, general purpose logic unit as an element in a stacker vehicle control system is not without drawback. One disadvantage is in the logistics of modifying the control program to adapt to a new system environment. The basic control program is most often written in a low level programming language, usually assembly language, by a skilled programmer in order to generate the most efficient program code. On the other hand, the person who is most familiar with the operating parameters of a particular storage environment that necessitate modifications to the basic control program is a systems engineer or technician, who is not necessarily skilled as a programmer, at least not at a lower language level.
One approach to a solution of this problem would be to define a high-level user language and write a compiler to translate the user language code into machine language form. However, accompanying this approach would be the disadvantages of increased memory requirements and the need for an operating system to implement the compiler. If the control system is to be implemented with a microprocessor as the control logic unit, then these specified disadvantages make this approach impracticable.
A second, alternative approach is to employ a general purpose emulator with the microprocessor to allow the user to program in a high level, user-oriented language. However, a general-purpose emulator has two specific limitations. First, the user is programming in a general purpose language that is not addressed to his specific practical needs, but rather covers a generic class of programming needs. This impairs program efficiency. Secondly, a general-purpose emulator requires a substantial memory allocation, and the user may not be able to afford to dedicate the amount of memory that the general-purpose emulator would require.
A third alternative is to program entirely in assembly language. The manifest difficulty of interactive machine control programming at an assembly level language makes this alternative impracticable. Moreover, an assembly language control program is not given to easy modification to adapt to varying operating parameters, e.g. a change in a functional feature of the control program would require extensive rewriting. As such, it provides a relatively inflexible approach in the context of the present invention.
Accordingly, the problem addressed by the present invention relates to the need to afford flexibility in the modification of the control program for the programmable, general purpose logic unit when adapting it to a storage environment of different operating parameters, so that it may preserve efficiencies realized through lower level programming, and yet be readily modified by system personnel not having extensive knowledge and ability in a lower level programming language.